Efficient cache oblivious algorithms for randomized divide-and-conquer on the multicore model

نویسندگان

  • Neeraj Sharma
  • Sandeep Sen
چکیده

In this paper we present randomized algorithms for sorting and convex hull that achieves optimal performance (for speed-up and cache misses) on the multicore model with private cache model. Our algorithms are cache oblivious and generalize the randomized divide and conquer strategy given by Reischuk [14] and Reif and Sen [17]. Although the approach yielded optimal speed-up in the PRAM model, we require additional techniques to optimize cache-misses in an oblivious setting. Let p, n,M,B respectively denote number of processors, problem size, the size of individual processor cache memory and block size respectively, then we obtain expected parallel running time O(np log n + log n log log n) with expected O( n B logM n) cache misses for sorting n keys and constructing convex hull of n points. For p ≤ n log logn , and under the tall-cache assumption M ≥ B , both speed-up and cache-misses are the best possible. Since the input-size n ≥ Mp, under a very mild assumption M ≥ log log n, p ≤ n log logn , so in all realistic scenarios, our algorithm will have optimal time and cache misses with high probability. Although similar results have been obtained recently for sorting [11] , we feel that our approach is simpler and general and we apply it to obtain an algorithm for 3D convex hulls with similar bounds. We also present a simple randomized processor allocation technique without the explicit knowledge of the number of processors that is likely to find additional applications in resource oblivious environments. SPAA’12, June 25–27, 2012, Pittsburgh, Pennsylvania, USA. 1 ar X iv :1 20 4. 65 08 v2 [ cs .D S] 2 7 M ay 2 01 2

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Cache-oblivious wavefront algorithms for dynamic programming problems: efficient scheduling with optimal cache performance and high parallelism

Wavefront algorithms are algorithms on grids where execution proceeds in a wavefront manner from the start to the end of the execution (execution moves through the grid as if a wavefront is moving). Many dynamic programming problems and stencil computations are wavefront algorithms. Iterative wavefront algorithms for evaluating dynamic programming (DP) recurrences exploit optimal parallelism, b...

متن کامل

Oblivious algorithms for multicores and networks of processors

We address the design of algorithms for multicores that are oblivious to machine parameters. We propose HM, a multicore model consisting of a parallel shared-memory machine with hierarchical multi-level caching, and we introduce a multicore-oblivious approach to algorithms and schedulers for HM. A multicore-oblivious algorithm is specified with no mention of any machine parameters, such as the ...

متن کامل

An Experimental Comparison of Cache-oblivious and Cache-aware Programs DRAFT: DO NOT DISTRIBUTE

Cache-oblivious algorithms have been advanced as a way of circumventing some of the difficulties of optimizing applications to take advantage of the memory hierarchy of modern microprocessors. These algorithms are based on the divide-and-conquer paradigm – each division step creates sub-problems of smaller size, and when the working set of a sub-problem fits in some level of the memory hierarch...

متن کامل

Efficient Resource Oblivious Algorithms for Multicores

We consider the design of efficient algorithms for a multicore computing environment with a global shared memory and p cores, each having a cache of size M , and with data organized in blocks of size B. We characterize the class of ‘Hierarchical Balanced Parallel (HBP)’ multithreaded computations for multicores. HBP computations are similar to the hierarchical divide & conquer algorithms consid...

متن کامل

An algorithmic theory of caches

The ideal-cache model, an extension of the RAM model, evaluates the referential locality exhibited by algorithms. The ideal-cache model is characterized by two parameters-the cache size Z, and line length L. As suggested by its name, the ideal-cache model practices automatic, optimal, omniscient replacement algorithm. The performance of an algorithm on the ideal-cache model consists of two meas...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012